/**
 * 
 */
package org.vsg.stock.core.indicator.coordinate.origpoint;

import org.vsg.stock.core.indicator.coordinate.OriginalDataPoint;
import org.vsg.stock.core.kline.DailyKLineStock;

/**
 * @author Bill Vison
 *
 */
public class KLineODPFactory {
	
	private static KLineODPFactory instance;
	
	public static final synchronized KLineODPFactory getInstance() {
		if ( instance == null) {
			instance = new KLineODPFactory();
		}
		return instance;
	}
	
	
	public OriginalDataPoint createODPFromPriceOpen(DailyKLineStock dks) {
		return new KLineOpenOriginalDataPoint(dks);
	}
	
	
	public OriginalDataPoint createODPFromPriceLow(DailyKLineStock dks) {
		return new KLineLowOriginalDataPoint(dks);
	}

	public OriginalDataPoint createODPFromPriceHigh(DailyKLineStock dks) {
		return new KLineHighOriginalDataPoint(dks);
	}

	public OriginalDataPoint createODPFromPriceClose(DailyKLineStock dks) {
		return new KLineCloseOriginalDataPoint(dks);
	}

	
}
